package com.ruoyi.common.core.domain.entity;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 存储通知的基本信息对象 wsd_notifications
 * 
 * @author ruoyi
 * @date 2024-04-19
 */
@Data
public class WsdNotifications extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 通知id */
    private Long notificationsId;

    /** 关联的学校id */
    @Excel(name = "关联的学校id")
    private Long schoolId;

    /** 通知的主题或标题 */
    @Excel(name = "通知的主题或标题")
    private String title;

    /** 通知类型（0：学校，1：班级） */
    @Excel(name = "通知类型", readConverterExp = "0=：学校，1：班级")
    private Integer isClassNotification;

    /** 通知发布的日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "通知发布的日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date releaseDate;

    /** 通知的详情 */
    @Excel(name = "通知的详情")
    private String contentText;

    /** 通知的有效时间范围 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "通知的有效时间范围", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expirationDate;

    /** 0是过期,1是发布 */
    @Excel(name = "0是过期,1是发布")
    private Integer status;

    /** 标记是否逻辑删除，0表示未删除，1表示已删除 */
    @Excel(name = "标记是否逻辑删除，0表示未删除，1表示已删除")
    private Integer isDeleted;

    /** 历史还是当前通知，true表示当前通知，false表示历史通知 */
    @Excel(name = "历史还是当前通知，true表示当前通知，false表示历史通知")
    private Boolean inform;

    /** 记录创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 记录创建人 */
    @Excel(name = "记录创建人")
    private String createdBy;

    /** 记录最后修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录最后修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 记录最后修改人 */
    @Excel(name = "记录最后修改人")
    private String updatedBy;

    /** 发通知的单位 */
    @Excel(name = "发通知的单位")
    private String departmentName;

}
